package com.kaizeli.website.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kaizeli.website.pojo.entity.AcceptanceMember;
import com.kaizeli.website.pojo.dto.AcceptanceMemberDTO;
import com.kaizeli.website.response.Result;

import java.util.List;

/**
 * 验收成员服务接口
 */
public interface AcceptanceMemberService extends IService<AcceptanceMember> {

    /**
     * 根据验收单ID查询验收成员列表
     */
    Result<List<AcceptanceMemberDTO>> getMembersByAcceptanceId(Long acceptanceId);

    /**
     * 根据员工ID查询验收记录
     */
    Result<List<AcceptanceMemberDTO>> getMembersByEmployeeId(Long employeeId);

    /**
     * 创建验收成员
     */
    Result<AcceptanceMember> createMember(AcceptanceMember member);

    /**
     * 批量创建验收成员
     */
    Result<Void> batchCreateMembers(List<AcceptanceMember> members);

    /**
     * 更新验收成员
     */
    Result<Void> updateMember(Long id, AcceptanceMember member);

    /**
     * 更新验收成员状态
     */
    Result<Void> updateMemberStatus(Long id, String status);

    /**
     * 删除验收成员
     */
    Result<Void> deleteMember(Long id);

    /**
     * 转项成员
     */
    Result<Void> transferMember(Long id, String newProjectCode, Long newSubProjectId);
}
